// @author: 无忧
// @date: 2021-02-07 14:21
// @note:
package main

import (
	"fmt"
	"github.com/gin-gonic/gin"
	"io"
	"os"
)

func main() {
	r := gin.Default()

	r.POST("/upload", func(ctx *gin.Context) {
		file, _ := ctx.FormFile("file")
		//name := ctx.PostForm("name")

		// 第一种 保存文件方式
		//ctx.SaveUploadedFile(file, "./"+ file.Filename)

		// 第二种 保存文件方式
		in, err := file.Open()
		if err != nil {
			fmt.Println(err)
		}
		defer in.Close()

		out, err := os.Create("./" + file.Filename)
		if err != nil {
			fmt.Println(err)
		}
		defer out.Close()

		_, err = io.Copy(out, in)

		//ctx.JSON(200, gin.H{
		//	"file": file,
		//	"name": name,
		//})

		ctx.Writer.Header().Add("Content-Disposition", fmt.Sprintf("attachment;filename=%s", file.Filename))
		ctx.File("./" + file.Filename)
	})

	r.Run(":1010")
}
